package com.example.demo.zaqizabatest;

import java.util.*;
import java.util.stream.Collectors;

/**
 * @ClassName DemoTest
 * @Author l42142
 * @Date 2021/3/3 9:39
 * @Description TODO
 * @Version 1.0
 **/
public class DemoTest {


    private int value = 0;

    public int getNext() {
        return value++;
    }


    public static void main(String[] args) {



//        /**
//         * 求证一个数是否有亲和数
//         * param 输入一个大于二的正整数
//         */
//        List<Integer> trueFactors1;
//        Scanner in = new Scanner(System.in);
//        System.out.println("请输入大于2的整数：");
//        int n = in.nextInt();
//        trueFactors1 = getTrueFactor(n);
//        System.out.println("正整数：" + n + "的所有的真因数为：" + trueFactors1);
//        int trueFactorSum1 = 0;
//        for (Integer trueFactor : trueFactors1)
//            trueFactorSum1 += trueFactor;
//        System.out.println("正整数：" + n + "的所有的真因数之和为：" + trueFactorSum1);
//        List<Integer> trueFactors2;
//        trueFactors2 = getTrueFactor(trueFactorSum1);
//        System.out.println("正整数：" + trueFactorSum1 + "的所有的真因数为：" + trueFactors2);
//        int trueFactorSum2 = 0;
//        for (Integer trueFactor : trueFactors2)
//            trueFactorSum2 += trueFactor;
//        System.out.println("正整数：" + trueFactorSum1 + "的所有的真因数之和为：" + trueFactorSum2);
//        if (n == trueFactorSum2) {
//            System.out.println("正整数：" + n + "有亲和数，与正整数：" + trueFactorSum1 + "是亲和数！");
//        } else {
//            System.out.println("正整数：" + n + "无亲和数！");
//        }

        ArrayList<String> list = new ArrayList<>();
        Integer[] a = new Integer[10];
        Arrays.stream(a).collect(Collectors.toList());
        int[] b = new int[10];
        Arrays.stream(b).boxed().collect(Collectors.toList());
        list.removeIf(item -> "item".equals(item));
        list.add("a");
        list.add("b");
        String[] strings = new String[10];
        for (int i = 0; i < strings.length; i++) {
            strings[i] = "" + i;
        }
        String[] array = list.toArray(strings);
        System.out.println();
//        int[] c = new int[a.length];;
//        for (int i = 0; i < a.length; i++)
//            a[i] = i+1;
//        b[0] = 11;
//        b[1] = 12;
//        Object[] d = new Object[a.length];
//        d = Arrays.copyOf(a, a.length, Object[].class);
//        d = Arrays.copyOf(d, a.length, Object[].class);
//        System.arraycopy(c, 0, b, 2, 10 -3);
//        System.out.println(b);

//        String[] planets = new String[] { "Mercury" , "Venus" , "Earth" , "Mars" , "Jupiter" , "Saturn" , "Uranus" , "Neptune" };
//
//        Arrays.sort(planets, (first, second) -> first.length() - second .length());

//        Comparator<User> byName = new Comparator<User>() {
//            @Override
//            public int compare(User o1, User o2) {
//                return o1.getPassword().compareTo(o2.getPassword());
//            }
//        };
//        Comparator<User> abc = (User o11, User o22) -> {
//            return o11.getName().compareTo(o22.getName());
//        };
//        User user1 = new User("LiuGuiHua", "177911");
//        User user2 = new User("FangBoWen", "177911");
//        int compare = byName.compare(user1, user2);
//
//        System.out.println(compare);
//
//        int[] aa = new int[]{1,2,3,4,5};
//
//       int[] b = Arrays.copyOf(aa, 10);
//       for (int ai:b)
//           System.out.println(ai);
//
//
//        for (int i = 1; i <= 9; i++) {
//            for (int j = 1; j <= i; j++) {
//                System.out.printf("%d*%d=%-6d", j, i, i * j);
//            }
//            System.out.println();
//        }
//
//        double x = 10000.0 / 3.0;
//        System.out.println(x);
//        System.out.printf("%6.3f", x);
//
//        HashMap a = new HashMap(49);
//
//        "".hashCode();
//        System.out.println();
//
//        DemoTest demoTest = new DemoTest();
//        System.out.println(demoTest.getNext());
//        System.out.println(demoTest.getNext());
    }

    /**
     * 获取真因数集合
     *
     * @param n 一个大于2的正整数
     * @return
     */
    private static List<Integer> getTrueFactor(int n) {
        Map<String, String> a = new HashMap<>();
        List<Integer> trueFactors = new ArrayList<>();
        for (int i = 1; i < n; i++) {
            for (int j = 2; j <= n; j++) {
                if (i * j == n) {
                    trueFactors.add(i);
                }
            }
        }
        return trueFactors;
    }
}
